package com.nky.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户表
 */
@Data
public class User implements Serializable {

    /**
     * 用户id
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 机构id
     */
    private Integer institutionId;

    /**
     * 机构名称
     */
    private String institutionName;

    /**
     * 注册人id
     */
    private Integer registrationUserId;

    /**
     * 注册人名
     */
    private String registrationUserName;

    /**
     * 注册时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime registrationTime;

    /**
     * 登录名
     */
    private String name;

    /**
     * 登录密码
     */
    private String password;

    /**
     * （权限）角色id
     */
    private Integer roleId;

    /**
     * （权限）角色名
     */
    private String role;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 手机号
     */
    private String phoneNumber;


    /**
     * 是否（逻辑）删除
     */
    @TableLogic
    private Boolean deleted;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 验证码
     */
    private String code;

    /**
     * 扩展字段
     */
    @TableField(exist = false)
    private String institution;

    /**
     * 扩展字段
     */
    @TableField(exist = false)
    private String juese;
}
